package adfc2.render3d;

import adfc2.Renderer3D;
import adfc2.render3d.tex.TexRefNone;
import adfc2.render3d.tex.TexRefRef;

/**
 * Ссылка на текстуру/подтекстуру. Обёртка вокруг Texture.bind()
 */
public abstract class TextureReference {

    public static final TexRefNone NO_TEXTURE = new TexRefNone();

    public static final TexRefRef TEXREF_0 = new TexRefRef(0);
    public static final TexRefRef TEXREF_1 = new TexRefRef(1);
    public static final TexRefRef TEXREF_2 = new TexRefRef(2);
    public static final TexRefRef TEXREF_3 = new TexRefRef(3);
    public static final TexRefRef TEXREF_4 = new TexRefRef(4);
    public static final TexRefRef TEXREF_5 = new TexRefRef(5);
    public static final TexRefRef TEXREF_6 = new TexRefRef(6);
    public static final TexRefRef TEXREF_7 = new TexRefRef(7);
    public static final TexRefRef TEXREF_8 = new TexRefRef(8);
    public static final TexRefRef TEXREF_9 = new TexRefRef(9);
    public static final TexRefRef[] TEXREFS = {TEXREF_0, TEXREF_1, TEXREF_2, TEXREF_3, TEXREF_4, TEXREF_5, TEXREF_6, TEXREF_7, TEXREF_8, TEXREF_9};

    public abstract void activate(Renderer3D renderer);
}
